﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ubatic.Common.Dto;

namespace Ubatic.Contracts.Services
{
    public interface ISecurityService
    {       
       bool AuthenticaUser(string nombreDeUsuario, string password);               

       Usuario GetUser(int userId);       

       Usuario GetUser(string userName);

       Usuario GetUserByEmail(string email);
       
       int CreateIncompleteUser(Usuario usuarioDto);       

       int CreateUser(Usuario userDto, List<long> newRoles);    

       bool ActiveUser(Usuario usuarioDto);      

       bool UpdateUser(Usuario usuarioDto);      

       bool UpdateUser(Usuario userDto, List<long> newRoles, List<long> deleteRoles);       

       bool DeleteUser(long userId);       

       List<Usuario> GetUsers();            

       Role CreateRole(Role roleDto);
       
       Role GetRole(long id);
      
       bool UpdateRole(Role roleDto);
       
       bool DeleteRole(long roleId);
      
       List<Role> GetRoles();
    }   
}
